package com.bringway.p2p.dao;

import java.util.List;
import java.util.Map;

import net.sf.json.JSONObject;

public interface CjDao {
	/**
	 * @作者 js  
	 * @方法名 queryCjListAll  
	 * @功能 TODO 查询全部抽奖人员信息
	 * @param params
	 * @return
	 */
	List<Map<String, Object>> queryCjListAll(JSONObject params);
	/**
	 * @作者 js  
	 * @方法名 getCjListCount  
	 * @功能 TODO 查询全部抽奖人员信息 分页总数
	 * @param params
	 * @return
	 */
	int getCjListCount(JSONObject params);
	/**
	 * @作者 js  
	 * @方法名 insertCj  
	 * @功能 TODO 插入抽奖人员信息
	 * @param params
	 * @return
	 */
	int insertCj(JSONObject params);
	/**
	 * @作者 js  
	 * @方法名 updateCj  
	 * @功能 TODO 更新抽奖人员信息
	 * @param params
	 * @return
	 */
	int updateCj(JSONObject params);
	/**
	 * @作者 js  
	 * @方法名 deleteCj  
	 * @功能 TODO 删除抽奖人员信息
	 * @param params
	 * @return
	 */
	int deleteCj(JSONObject params);
	/**
	 * @作者 js  
	 * @方法名 isBe  
	 * @功能 TODO 员工号是否存在
	 * @param gyh
	 * @return true:已存在,false:不存在
	 */
	int isBe(String gyh);
	
	/**
	 * 根据员工号获得员工信息
	 * */
	Map getZnnhUserinfoByGyh(String gyh);
	
	/**
	 * 获得中奖人员
	 * */
	List getZjList(String num, String level);
	
	/**
	 * 获得待中奖人员总数
	 * */
	int getDzjListCount(JSONObject params);
	
	/**
	 * 根据随机数获得中奖人员信息
	 * */
	Map<String,Object> getzjGyh(int zjRandom);
	
	/**
	 * 更新中奖人员信息
	 * @param zjGyh 员工号
	 * @param level 中奖等级
	 * */
	void updateZjInfo(String zjGyh,String level);
	
	/**
	 * 获得level下已中奖总数
	 * @param level LEVEL_1：1等奖，LEVEL_2：二等奖，LEVEL_3：三等奖
	 * */
	int getYzjCount(String level);
	
	/**
	 * 验证年会账户是否有使用权限
	 * @param password
	 * @category 默认登录名：znnh,默认查询，01012
	 * */
	boolean checkUserSafe(String password);
	
	/**
	 * true : 是
	 * false : 否
	 * */
	boolean isTscl();
	/**
	 * @作者 js  
	 * @方法名 listZnqCj  
	 * @功能 TODO 获取周年庆抽奖实物奖列表
	 * @param params
	 * @return
	 */
	List<Map<String, Object>> listZnqCj(JSONObject params);
	/**
	 * @作者 js  
	 * @方法名 getZnqCjCount  
	 * @功能 TODO 获取周年庆抽奖实物奖列表 分页 总记录数
	 * @param params
	 * @return
	 */
	int getZnqCjCount(JSONObject params);
	
	/**
	 * @作者 js  
	 * @方法名 updateZnqCj  
	 * @功能 TODO 更新周年庆抽奖状态
	 * @param params
	 * @return
	 */
	boolean updateZnqCj(JSONObject params);
}
